package com.deyuanyun.pic.pipe.domain.exceldomain;

import com.caixu.beanvalidateutil.annotations.CodeVail;
import com.caixu.beanvalidateutil.annotations.DataValidate;
import com.caixu.beanvalidateutil.vimlfunction.DigitsImpl;
import com.deyuanyun.pic.pipe.support.validatefun.CodeValidata;
import com.deyuanyun.pic.pipe.support.validatefun.PipeCrossVali;
import com.deyuanyun.pic.pipe.support.validatefun.PipeLineValidata;
import com.deyuanyun.pic.pipe.support.validatefun.PipeSegmentValidata;

import java.util.Date;

/**
 * Created by xu on 2015/12/28.
 * 穿跨域信息--与excel对应的实体类
 */
public class CrossingOverInfoVO {
    private String code;
    @DataValidate(notNull = true,myFunction = PipeLineValidata.class,myFunctionMessage = "管道不存在")
    private String pipeLineId;//管道名称
    @DataValidate(notNull = true,myFunction = PipeSegmentValidata.class,myFunctionMessage = "管段不存在")
    private String pipeSegmentId;//管段名称
    //@DataValidate(notNull = true)
    private String crossingNumber;//穿跨越编号
    @DataValidate(/*notNull = true ,*/myFunction = PipeCrossVali.class,myFunctionMessage = "不是穿跨越类型")
    private String crossingType;//穿跨越类型
   // @DataValidate(notNull = true)
    private String crossingName;//穿跨越名称
    @DataValidate(/*notNull = true ,*/myFunction = PipeCrossVali.class,myFunctionMessage = "不是穿跨越对象")
    private String crossingTarget;//穿跨越对象
    @DataValidate(/*notNull = true ,*/myFunction = PipeCrossVali.class,myFunctionMessage = "不是穿跨越方式")
    private String crossingMethod;//穿跨越方式
    @DataValidate(notNull = true ,numberRang = "{-180,180}",type = Number.class,typeMessage = "字段必须为数字类型")
    private String begiinLineloopX;//起始位置
    @DataValidate(notNull = true,numberRang = "{-90,90}" ,type = Number.class,typeMessage = "字段必须为数字类型")
    private String begiinLineloopY;//起始位置
    @DataValidate(notNull = true ,type = Number.class,typeMessage = "Z坐标字段必须为数字类型")
    private String begiinLineloopZ;//起始位置
    @DataValidate(notNull = true,numberRang = "{-180,180}" ,type = Number.class,typeMessage = "字段必须为数字类型")
    private String endLineloopX;//终点位置
    @DataValidate(notNull = true,numberRang = "{-90,90}" ,type = Number.class,typeMessage = "字段必须为数字类型")
    private String endLineloopY;//终点位置
    @DataValidate(notNull = true ,type = Number.class,typeMessage = "字段必须为数字类型")
    private String endLineloopZ;//终点位置
    @DataValidate(/*notNull = true ,*/type = Number.class,typeMessage = "字段必须为数字类型")
    private String crossingLength;//穿越长度
    @DataValidate(/*notNull = true ,*/myFunction = DigitsImpl.class ,myFunctionMessage = "必须为整数类型")
    private String number;//管节数
    @DataValidate(/*notNull = true ,*/myFunction = PipeCrossVali.class,myFunctionMessage = "不是材质类型")
    private String material;//材质
    @DataValidate(/*notNull = true ,*/numberRang = "{0,50}",type = Number.class)
    private String wallThickness;//壁厚
    @DataValidate(/*notNull = true,*/ myFunction = PipeCrossVali.class,myFunctionMessage = "不是稳管措施")
    private String pipeStableMeasures;//稳管措施
    @DataValidate(myFunction = PipeCrossVali.class,myFunctionMessage = "数据类容不正确")
    private String isSleeve;//是否有套管

    @CodeVail(majorCode = "COATING_MATERIAL_CROSS")
    @DataValidate(myFunction = CodeValidata.class,myFunctionMessage = "防护层材料不正确")
    private String coatingMaterial;//防护层材料
    @DataValidate(type = Number.class,numberRang = "{0,10}")
    private String coatingThickness;//防护层厚度
    @DataValidate(lengthLimit = "{80}")
    private String completionDataNumber;//竣工资料编号
    //@DataValidate(notNull = true)

    @DataValidate(lengthLimit = "{80}")
    private String assemblyCompany;//施工单位
    //@DataValidate(notNull = true)

    @DataValidate(lengthLimit = "{80}",lengthLimitMessage = "长度不能超过80")
    private String inspectingCompany;//监理单位
    //@DataValidate(notNull = true)

    @DataValidate(lengthLimit = "{80}")
    private String testingCompany;//检测单位

    @DataValidate(lengthLimit = "{80}")
    private String recorder;//记录人

    @DataValidate(type = Date.class,datePattern = {"yyyyMMdd","yyyy-MM-dd","yyyy/MM/dd"},typeMessage = "日期格式有误")
    private String recordtime;//记录时间

    @DataValidate(lengthLimit = "{999}")
    private String createRemark;//备注

    private String priUuid;

    public String getPriUuid() {
        return priUuid;
    }

    public void setPriUuid(String priUuid) {
        this.priUuid = priUuid;
    }

    public String getPipeLineId() {
        return pipeLineId;
    }

    public void setPipeLineId(String pipeLineId) {
        this.pipeLineId = pipeLineId;
    }

    public String getPipeSegmentId() {
        return pipeSegmentId;
    }

    public void setPipeSegmentId(String pipeSegmentId) {
        this.pipeSegmentId = pipeSegmentId;
    }

    public String getCrossingNumber() {
        return crossingNumber;
    }

    public void setCrossingNumber(String crossingNumber) {
        this.crossingNumber = crossingNumber;
    }

    public String getCrossingType() {
        return crossingType;
    }

    public void setCrossingType(String crossingType) {
        this.crossingType = crossingType;
    }

    public String getCrossingName() {
        return crossingName;
    }

    public void setCrossingName(String crossingName) {
        this.crossingName = crossingName;
    }

    public String getCrossingTarget() {
        return crossingTarget;
    }

    public void setCrossingTarget(String crossingTarget) {
        this.crossingTarget = crossingTarget;
    }

    public String getCrossingMethod() {
        return crossingMethod;
    }

    public void setCrossingMethod(String crossingMethod) {
        this.crossingMethod = crossingMethod;
    }

    public String getBegiinLineloopX() {
        return begiinLineloopX;
    }

    public void setBegiinLineloopX(String begiinLineloopX) {
        this.begiinLineloopX = begiinLineloopX;
    }

    public String getBegiinLineloopY() {
        return begiinLineloopY;
    }

    public void setBegiinLineloopY(String begiinLineloopY) {
        this.begiinLineloopY = begiinLineloopY;
    }

    public String getBegiinLineloopZ() {
        return begiinLineloopZ;
    }

    public void setBegiinLineloopZ(String begiinLineloopZ) {
        this.begiinLineloopZ = begiinLineloopZ;
    }

    public String getEndLineloopX() {
        return endLineloopX;
    }

    public void setEndLineloopX(String endLineloopX) {
        this.endLineloopX = endLineloopX;
    }

    public String getEndLineloopY() {
        return endLineloopY;
    }

    public void setEndLineloopY(String endLineloopY) {
        this.endLineloopY = endLineloopY;
    }

    public String getEndLineloopZ() {
        return endLineloopZ;
    }

    public void setEndLineloopZ(String endLineloopZ) {
        this.endLineloopZ = endLineloopZ;
    }

    public String getCrossingLength() {
        return crossingLength;
    }

    public void setCrossingLength(String crossingLength) {
        this.crossingLength = crossingLength;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material;
    }

    public String getWallThickness() {
        return wallThickness;
    }

    public void setWallThickness(String wallThickness) {
        this.wallThickness = wallThickness;
    }

    public String getPipeStableMeasures() {
        return pipeStableMeasures;
    }

    public void setPipeStableMeasures(String pipeStableMeasures) {
        this.pipeStableMeasures = pipeStableMeasures;
    }

    public String getIsSleeve() {
        return isSleeve;
    }

    public void setIsSleeve(String isSleeve) {
        this.isSleeve = isSleeve;
    }

    public String getCoatingMaterial() {
        return coatingMaterial;
    }

    public void setCoatingMaterial(String coatingMaterial) {
        this.coatingMaterial = coatingMaterial;
    }

    public String getCoatingThickness() {
        return coatingThickness;
    }

    public void setCoatingThickness(String coatingThickness) {
        this.coatingThickness = coatingThickness;
    }

    public String getCompletionDataNumber() {
        return completionDataNumber;
    }

    public void setCompletionDataNumber(String completionDataNumber) {
        this.completionDataNumber = completionDataNumber;
    }

    public String getAssemblyCompany() {
        return assemblyCompany;
    }

    public void setAssemblyCompany(String assemblyCompany) {
        this.assemblyCompany = assemblyCompany;
    }

    public String getInspectingCompany() {
        return inspectingCompany;
    }

    public void setInspectingCompany(String inspectingCompany) {
        this.inspectingCompany = inspectingCompany;
    }

    public String getTestingCompany() {
        return testingCompany;
    }

    public void setTestingCompany(String testingCompany) {
        this.testingCompany = testingCompany;
    }

    public String getRecorder() {
        return recorder;
    }

    public void setRecorder(String recorder) {
        this.recorder = recorder;
    }

    public String getRecordtime() {
        return recordtime;
    }

    public void setRecordtime(String recordtime) {
        this.recordtime = recordtime;
    }

    public String getCreateRemark() {
        return createRemark;
    }

    public void setCreateRemark(String createRemark) {
        this.createRemark = createRemark;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
}
